if (value == null) {
value = create(ctl);
map.put(ctl, value);
ctl.addListener(SWT.Dispose, new Listener() {
@Override
public void handleEvent(Event event) {
map.remove(ctl);
}
});
}
return value;
}
if (value == null) {
value = create(ctl);
map.put(ctl, value);
ctl.addListener(SWT.Dispose, e -> {
map.remove(ctl);
});
}
return value;
}